// 数据统计的pinia状态管理器
// 导入defineStore函数对象
import {defineStore} from "pinia";
import {ref} from "vue";

/**
 * 定义一个计数器状态管理仓库
 * @param {string} 'counter' - 仓库的唯一标识符
 * @param {Function} () => {...} - 仓库的配置函数，返回仓库的状态和方法
 * @returns {Object} 包含状态数据、计算属性和方法的对象
 */
export const useCounterStore = defineStore('counter', () => {
  // 1.初始化数据
  const count = ref(0)
  const name = ref('张三')

  // 2.计算属性computed的函数
  const doubleCount = computed(() => count.value * 2)
  const squareCount = computed(() => count.value * count.value)

  // 3. 方法
  /**
   * 计数器递增方法
   * 将count的值增加1
   */
  function increment() {
    count.value++
  }

  // 4. 返回数据----基本数据，计算属性，方法
  return { count, name, doubleCount,squareCount, increment }
})

